<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script src="./jq/jq.js"></script>
    <script>

        // $.get('http://www.liulongbin.top:3006/api/getbooks', { id: 1 }, (res) => {
        //     console.log(res);
        // });

        // $.get('./data/test.json', (res) => {
        //     console.log(res);
        // });

        // $.post(
        //     'http://www.liulongbin.top:3006/api/addbook',
        //     {
        //         bookname: '三体',
        //         author: 'yuzelin',
        //         publisher: '泽林出版社',
        //     },
        //     (res) => {
        //         console.log(res);
        //     },
        // );

        // const books = [];
        // $.get('http://www.liulongbin.top:3006/api/getbooks', { author: 'yuzelin' }, (res) => {
        //     const resBooks = res.data;
        //     books.push(...resBooks);
        //     // 第一次请求结束的位置
        //     $.get('http://www.liulongbin.top:3006/api/getbooks', { author: '罗贯中' }, (res) => {
        //         const resBooks = res.data;
        //         books.push(...resBooks);
        //         $.get('http://www.liulongbin.top:3006/api/getbooks', { author: '朱自清' }, (res) => {
        //             const resBooks = res.data;
        //             books.push(...resBooks);
        //             $.get('http://www.liulongbin.top:3006/api/getbooks', { author: '施耐庵' }, (res) => {
        //                 const resBooks = res.data;
        //                 books.push(...resBooks);
        //                 console.log(books);
        //             });
        //         });
        //     });
        // });

        function req (author) {
            return new Promise((resolve) => {
                $.get('http://www.liulongbin.top:3006/api/getbooks', { author }, (res) => {
                    resolve(res.data);
                });
            });
        }

        (async () => {
            const r1 = await req('yuzelin');
            const r2 = await req('罗贯中');
            const r3 = await req('朱自清');
            const r4 = await req('施耐庵');
            const books = [...r1, ...r2, ...r3, ...r4];
        })();

        // Promise  resolve解决/处理

        function getP1 () {
            return new Promise((resolve) => {
                setTimeout(() => {
                    resolve('hello');
                }, 2000);
            });
        }

        function getP2 () {
            return new Promise((resolve) => {
                setTimeout(() => {
                    resolve('world');
                }, 2000);
            });
        }

        // const p1 = new Promise((resolve) => {
        //     setTimeout(() => {
        //         resolve('hello');
        //     }, 2000);
        // });

        // const p2 = new Promise((resolve) => {
        //     setTimeout(() => {
        //         resolve('world');
        //     }, 2000);
        // });

        // setTimeout(() => {
                
        // }, Math.random() * 1000);

        // function sleep (delay) {
        //     return new Promise((resolve) => {
        //         setTimeout(resolve, delay);
        //     });
        // }

        // (() => {

        //     async function fn () {
        //         console.log(1);
        //         await sleep(1000);
        //         console.log(2);
        //         await sleep(1000);
        //         console.log(2);
        //         await sleep(1000);
        //         console.log(2);
        //         await sleep(1000);
        //         console.log(2);
        //     }

        //     fn();


        //     // const r1 = await getP1();
        //     // console.log(r1);
        //     // const r2 = await getP2();
        //     // console.log(r2);

        //     // getP1().then((res) => {
        //     //     console.log(res);
        //     // });
        //     // getP2().then((res) => {
        //     //     console.log(res);
        //     // });

        // })();

    </script>
</body>
</html>